import device from '@/api/apis/device'

/**
 * <p>
 * 弹窗配置
 *
 * @Author：Roy
 * @Description：产品类型
 * @Date：Create by 2023-12-02 20:13:28
 */
const popConfig = {
  'product-type': {
    'product-type-add': {
      popTitle: '新增产品类型',
      popType: 'OperateProductType',
      visible: true,
      popConfig: {
        width: '50%',
        destroy: true,
        maxHeight: '5000px',
        popType: 'add'
      }
    },
    'product-type-edit': {
      popTitle: '编辑产品类型',
      popType: 'OperateProductType',
      visible: true,
      popConfig: {
        width: '50%',
        maxHeight: '5000px',
        destroy: true
      }
    },
    'product-type-select': {
      popTitle: '产品模型',
      popType: 'OperateProductModel',
      visible: true,
      popConfig: {
        width: '50%',
        maxHeight: '5000px',
        destroy: true,
        look: true
      }
    },
    'product-type-enable': {
      showType: 'confirm',
      confirmHeader: '提示',
      confirmContent: '是否确认启用XXX？',
      successMsg: "启用成功",
      splitProp: 'productTypeName',
      paramsProp: { id: 'id' },
      path: 'productType.enable'
    },
    'product-type-disable': {
      showType: 'confirm',
      confirmHeader: '提示',
      confirmContent: '是否确认禁用XXX？',
      successMsg: "禁用成功",
      splitProp: 'productTypeName',
      paramsProp: { id: 'id' },
      path: 'productType.disable'
    },
    'product-type-delete': {
      showType: 'confirm',
      confirmHeader: '提示',
      confirmContent: '将删除XXX的所有关联数据，是否确认删除？',
      splitProp: 'productTypeCode',
      paramsProp: { id: 'id' },
      dynamicConfirmContent: async (data) => {
        const res = await device.existDevice({ productTypeId: data.id })
        return {
          exist: res.data,
          confirmContent: res.data ? '您即将删除【XXX】产品，该产品关联有设备信息，请先解绑/删除关联的设备' : '您即将删除【XXX】产品，此操作将导致与该产品关联的所有能源、预警产等数据停止生成且不再被系统记录与展示，确认删除？'
        }
      },
      path: 'productType.deleteById'
    },
    'product-type-import': {
      popTitle: '导入',
      popType: 'AddFile',
      visible: true,
      popConfig: {
        width: '50%',
        hideFooterBtn: true,
        // 上传接口
        upLoadPath: '/energy-carbon/ecp-admin/productType/upload',
        // 模板下载参数
        tplName: 'productTypeRenderer'
      }
    },
    'product-type-deleteBatch': {
      showType: 'confirm',
      dataType: 'multipleList',
      confirmHeader: '提示',
      confirmContent: '将批量删除XXX产品类型，是否确认删除？',
      splitProp: 'productTypeName',
      paramsProp: { ids: 'id' },
      path: 'productType.batchDelete'
    }
  }
}

export default {}
export { popConfig }
